package dao;

import models.*;
import services.*;

import com.google.inject.ImplementedBy;
import java.util.List;
import java.util.concurrent.CompletionStage;


/**
 * This interface provides a non-blocking API for possibly blocking operations.
 */
@ImplementedBy(CreateReport_Repository_JPA.class)
public interface CreateReport_Repository {
	CompletionStage<List<CreateReport_P_Entity>> ReportByUserMonth(String PhoneNumber, String StartDate);
	CompletionStage<List<CreateReport_P_Entity>> ReportByProduct(String PhoneNumber, String HWMC);
	CompletionStage<List<CreateReport_P_Entity>> ReportByMonthAll(String StartDate);
	CompletionStage<List<CreateReport_P_Entity>> CreateReport(String PhoneNumber,String StartDate, String EndDate, String HWMC, String KHMC, String MonthFlag);
	CompletionStage<List<Fhrb_T_Entity>> StaticReport(String PhoneNumber, String StartDate, String EndDate, String HWMC, String KHMC, String MonthFlag);
	CompletionStage<List<DetailList_F_Entity>> getDetailList(String PhoneNumber, String StartDate, String EndDate, String ProductType, String ProductName, String CompanyName, String unloadPlace, String mileageDef, String plateNo);
}